Classe para representar data e hora em Java
O Java disponibiliza uma API (conjunto de classes) para trabalhar com datas e horas. Até a versão 7 era utilizada o pacote java.util . Neste pacote
temos as classes Date e Calendar para o gerenciamento de datas e horas. A partir da versão 8 do java foi introduzido o
pacote java.time que traz consigo algumas facilidades em relação ao seu predecessor.
Abaixo temos um exemplo de código
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class App {
public static void main(String[] args) {
// Criando datas e horas
LocalDate hoje = LocalDate.now(); // Data atual
LocalTime agora = LocalTime.now(); // Hora atual
LocalDateTime dataHoraAtual = LocalDateTime.now(); // Data e hora atuais
// Exibindo as datas e horas
System.out.println("Data de hoje: " + hoje);
// O resultado será algo do tipo 2024-12-11
// O formato yyyy-mm-dd, onde yyyy ano com 4 dígitos, mm o mês e dd o dia
System.out.println("Hora atual: " + agora);
// O resultado será algo do tipo 15:18:35.990285900
// O formato HH:mm:ss.SSSSSSSSS, onde: HH representa as horas, mm representa os minutos,
// ss representa os segundos, SSSSSSSSS representa os nanosegundos.
System.out.println("Data e hora atuais: " + dataHoraAtual);
// O resultado será algo do tipo 2024-12-11T15:18:35.990285900
// Formatando data
DateTimeFormatter formato = DateTimeFormatter.ofPattern("dd/MM/yyyy");
// Apenas à título de informação, no comando acima não foi necessário utilizar o
// new DateTimeFormatter pois o método ofPattern é um método estático que utiliza
// o padrão de projeto factory "fábrica". Mas não se preocupe com isso.
System.out.println("\nData formatada: " + hoje.format(formato));
formato = DateTimeFormatter.ofPattern("HH:mm:ss");
System.out.println("Hora formatada 24horas: " + agora.format(formato));
formato = DateTimeFormatter.ofPattern("hh:mm:ss a");
System.out.println("Hora formatada 12horas am/pm: " + agora.format(formato));
formato = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");
System.out.println("Data/Hora formatada: " + dataHoraAtual.format(formato));
formato = DateTimeFormatter.ofPattern("dd/MM/yyyy hh:mm:ss a");
System.out.println("Data/Hora formatada: " + dataHoraAtual.format(formato));
}
}